package edu.unf.cen6940.service;

import edu.unf.cen6940.domain.Facultyresearchtostudent;
import edu.unf.cen6940.domain.Student;
import edu.unf.cen6940.domain.Thesis;

import java.util.List;
import java.util.Set;

/**
 * Spring service that handles CRUD requests for Student entities
 * 
 */
public interface StudentService {

	/**
	 * Return all Student entity
	 * 
	 */
	public List<Student> findAllStudents(Integer startResult, Integer maxRows);

	/**
	 * Load an existing Student entity
	 * 
	 */
	public Set<Student> loadStudents();

	/**
	 * Save an existing Thesis entity
	 * 
	 */
	public Student saveStudentThesises(Integer studentId, Thesis related_thesises);

	/**
	 * Delete an existing Thesis entity
	 * 
	 */
	public Student deleteStudentThesises(Integer student_studentId, Integer related_thesises_thesisId);

	/**
	 * Save an existing Facultyresearchtostudent entity
	 * 
	 */
	public Student saveStudentFacultyresearchtostudents(Integer studentId_1, Facultyresearchtostudent related_facultyresearchtostudents);

	/**
	 * Return a count of all Student entity
	 * 
	 */
	public Integer countStudents();

	/**
	 * Delete an existing Student entity
	 * 
	 */
	public void deleteStudent(Student student);

	/**
	 * Save an existing Student entity
	 * 
	 */
	public void saveStudent(Student student_1);

	/**
	 * Delete an existing Facultyresearchtostudent entity
	 * 
	 */
	public Student deleteStudentFacultyresearchtostudents(Integer student_studentId_1, Integer related_facultyresearchtostudents_facultyResearchId, Integer related_facultyresearchtostudents_studentId, Integer related_facultyresearchtostudents_facultyId);

	/**
	 */
	public Student findStudentByPrimaryKey(Integer studentId_2);
}